﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using CRUD.DAO;
using CapaGestion.Spring;
using GestionadorBaseDatos;
using System.Web.UI.MobileControls;
using CapaNegocios;

public partial class InterfazKamalde_MiCuentaHistoricoMantenimientos : Base
{
    IGestionMantenimientoPago gestionarMantenPagos = AdministradorGestion.getGestionarMantenimientoPago();
    IGestionMantenimientoUsuario gestionarMantenUsuarios = AdministradorGestion.getGestionarMantenimientoUsuario();
    IGestionFormaPago gestionarFormaPago = AdministradorGestion.getGestionarFormaPago();
    Usuario usuarioConectado;
    
    protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
            
            usuarioConectado = (Usuario)Session["login"];
            TableRow filaUsuario;
            TableCell columnaDescripcionUsuario;
            TableCell columnaFechaUsuario;
           


            if (opcionesHistoricos.SelectedItem.Value == "2")
            {
                IList listaMantenUsuarios = gestionarMantenUsuarios.ObtenerMantenimientosUsuarioPorUsuario(usuarioConectado);



                foreach (MantenimientoUsuario mantenUsuario in listaMantenUsuarios)
                {

                    filaUsuario = new TableRow();
                    filaUsuario.BorderWidth = 1;

                    columnaDescripcionUsuario = new TableCell();
                    columnaDescripcionUsuario.BorderWidth = 1;
                    columnaFechaUsuario = new TableCell();
                    columnaFechaUsuario.BorderWidth = 1;

                    columnaDescripcionUsuario.Text = mantenUsuario.Descripcion;
                    columnaFechaUsuario.Text = mantenUsuario.Fecha.ToString();

                    filaUsuario.Cells.Add(columnaDescripcionUsuario);
                    filaUsuario.Cells.Add(columnaFechaUsuario);

                    TablaHistoricos.Rows.Add(filaUsuario);

                }
            }


        }

    }

    public void ActualizarHistoricos(object sender, EventArgs e)
    {
        
        usuarioConectado = (Usuario)Session["login"];
        
        TableRow filaPago;
        TableCell columnaNombrePago;
        TableCell columnaDescripcionPago;
        TableCell columnaFechaPago;

        TableRow filaUsuario;
        TableCell columnaDescripcionUsuario;
        TableCell columnaFechaUsuario;

        if (opcionesHistoricos.SelectedItem.Value == "1")
        {
            IList listaMantenimientosPago = gestionarMantenPagos.ObtenerMantenimientosPagoPorUsuario(usuarioConectado);
            
            FormaPago formaPago;

            foreach (MantenimientoPago mantenPago in listaMantenimientosPago)
            {
                filaPago = new TableRow();
                filaPago.BorderWidth = 1;
                columnaNombrePago = new TableCell();
                columnaNombrePago.BorderWidth = 1;
                columnaDescripcionPago = new TableCell();
                columnaDescripcionPago.BorderWidth = 1;
                columnaFechaPago = new TableCell();
                columnaFechaPago.BorderWidth = 1;

                formaPago = gestionarFormaPago.GetById(mantenPago.FormaPagoMantenimiento);
                
                columnaNombrePago.Text = formaPago.Nombre;

                columnaDescripcionPago.Text = mantenPago.DescripcionMantenimientoP;

                columnaFechaPago.Text = mantenPago.FechaMantenimientoP.ToString();

                filaPago.Cells.Add(columnaNombrePago);
                filaPago.Cells.Add(columnaDescripcionPago);
                filaPago.Cells.Add(columnaFechaPago);

                TablaHistoricos.Rows.Add(filaPago);
            }
        }
        else
        {
            if (opcionesHistoricos.SelectedItem.Value == "2")
            {
                IList listaMantenUsuarios = gestionarMantenUsuarios.ObtenerMantenimientosUsuarioPorUsuario(usuarioConectado);
                
              

                foreach (MantenimientoUsuario mantenUsuario in listaMantenUsuarios)
                {

                    filaUsuario = new TableRow();
                    filaUsuario.BorderWidth = 1;

                    columnaDescripcionUsuario = new TableCell();
                    columnaDescripcionUsuario.BorderWidth = 1;
                    columnaFechaUsuario = new TableCell();
                    columnaFechaUsuario.BorderWidth = 1;

                    columnaDescripcionUsuario.Text = mantenUsuario.Descripcion;
                    columnaFechaUsuario.Text = mantenUsuario.Fecha.ToString();

                    filaUsuario.Cells.Add(columnaDescripcionUsuario);
                    filaUsuario.Cells.Add(columnaFechaUsuario);

                    TablaHistoricos.Rows.Add(filaUsuario);
                      
                }
            }
        }

        
    }
}
